import axios from 'axios'
import { showFailToast } from 'vant'
import { $globalRouter } from './router'
const $globalHttp = () => {
  return {
    install: () => {
      // 超时时间
      axios.defaults.timeout = 5000
      // http请求拦截器
      axios.interceptors.request.use(
        (config) => {
          return config
        },
        (error) => {
          showToast.clear()
          return Promise.reject(error)
        }
      )

      // http响应拦截器
      axios.interceptors.response.use(
        (data) => {
          // 请求后的处理
          // if (data.data.code != 0) {
          //   showFailToast(data.data.message)
          // }
          if (data.data.code == 40001 || data.data.code == 40002) {
            $globalRouter.push({ name: 'Login' })
            showFailToast('当前用户已被禁用或删除！')
          }
          return data.data
        },
        (error) => {
          if (!error.response) {
            let res = {
              code: -1,
              msg: '网络断开了，请检查网络状况。',
            }
            return Promise.reject(res)
          }

          return Promise.reject(error.response.data)
        }
      )
    },
  }
}

export { $globalHttp }
